package com.oop.jihe;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

public class Tes_set {
    public static void main(String[] args) {
        //1.以Set 接口的实现类 HashSet 来讲解Set 接口的方法
        //2.可以添加null
        //3.set 接口是实现类的对象（Set接口对象），不能存放重复的元素，比如多个null，只能存放一个
        //4.set 接口对象存放数据是无序的（即添加顺序和取出顺序不一致）
        //注意：取出顺序虽然不是添加的顺序但是他是固定不变的

        Set set = new HashSet();
        set.add("john");
        set.add("lucy");
        set.add("linjs");
        set.add("chengzh");
        set.add("wngjq");
        set.add(null);
        set.add(null);

        Set<Integer> set1 = new HashSet<Integer>();
        set1.add(1);
        set1.add(3);

        for (int i = 0; i < 10; i++){
            System.out.println("set=" + set);
        }

        //遍历
        //方式1：使用迭代器
        System.out.println("====使用迭代器====");
        Iterator iterator = set.iterator();
        while (iterator.hasNext()) {
            Object obj = iterator.next();
            System.out.println("obj=" + obj);
        }

        //方式2：增强for
        System.out.println("====增强for====");
        for (Object o : set){
            System.out.println("o=" + o);
        }

        //set 接口对象，不能通过索引来获取

    }




}
